<?php

/**
 *
 * @author Andriy
 */
class Core_Social_Abstract
{

    /**
     * Url для перенаправления после авторизации
     *
     * @var string
     */
    protected $_auth_url = '';

    /**
     * Идентификатор пользователя
     *
     * @var int
     */
    protected $_user_id = 0;

	/**
	 * Ошибки сервиса
	 *
	 * @var type 
	 */
	protected $_errors = array();

	/**
     * Возвращает ответа от адреса $url
     *
     * @param string $url
     * @return string
     */
    protected function _getResponse( $url )
    {
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
        curl_setopt( $ch, CURLOPT_URL, $url );
        curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
        curl_setopt( $ch, CURLOPT_ENCODING, "UTF-8" );
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
        curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
        curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
        curl_setopt( $ch, CURLOPT_MAXREDIRS, 10 );
        $content = curl_exec( $ch );
        curl_close ( $ch );

        return $content;
    }

	/**
	 * Добавляет ошибку
	 *
	 * @param string $error 
	 */
	public function setError( $error )
	{
		$this->_errors[] = $error;
	}
	
	/**
	 * Возвращает все ошибки
	 *
	 * @return array
	 */
	public function getErrors( )
	{
		return $this->_errors;
	}
	
    /**
     * Устанавливает Url на который будет
     * перенаправлен пользователь после авторизации.
     *
     * @param string $url
     */
    public function setAuthUrl( $url )
    {
        $this->_auth_url = $url;
        return $this;
    }

    /**
     * Возвращает Url перенаправления пользователя.
     *
     * @return string
     */
    public function getAuthUrl()
    {
        return $this->_auth_url;
    }

    /**
     * Возвращает идентификатор пользователя
     *
     * @return int
     */
    public function getUserId()
    {
        return $this->_user_id;
    }

}

?>
